//128.最长连续序列
//https://leetcode.cn/problems/longest-consecutive-sequence/?envType=study-plan-v2&envId=top-100-liked
class Solution {
public:
    int longestConsecutive(vector<int>& nums) {
        unordered_set<int> hash(nums.begin(),nums.end());
        int ret = 0;
        for(const int& n:hash)
        {
            //总之就是找闭区间
            //例如 1 2 3 4 5
            // 3 的前面有2后面有4 此时不好统计
            //1的前面没有0 即为最小 就可以从1开始向后找即可
            //如果有比该数-1小的 则继续找
            //找里面连续最小的数 然后依次向前+1寻找连续序列
            if(hash.count(n-1) == 0)
            {
                int cnt = 1;
                for(int i = n;hash.count(i+1);++i,++cnt);
                ret = max(ret,cnt);
            }
        }
        return ret;
    }
}; 